classDiagram
    class Handler {
        +setNext(handler: Handler): Handler
        +handle(request: string): string
    }

    class ConcreteHandlerA {
        +handle(request: string): string
    }

    class ConcreteHandlerB {
        +handle(request: string): string
    }

    class ConcreteHandlerC {
        +handle(request: string): string
    }

    Handler <|-- ConcreteHandlerA
    Handler <|-- ConcreteHandlerB
    Handler <|-- ConcreteHandlerC

    ConcreteHandlerA --> Handler : nextHandler
    ConcreteHandlerB --> Handler : nextHandler
    ConcreteHandlerC --> Handler : nextHandler